草庐IT

Swift 枚举评估

全部标签

c++ - 如何将一个类的嵌套枚举用作另一个类的嵌套枚举?

下面的代码将在enumen=A::en;行给出编译错误,但它描述了我想做的事情(使A的嵌套枚举成为也是B的嵌套枚举)。#includeusingnamespacestd;structA{enuma_en{X=0,Y=1};};structB{enumb_en=A::a_en;//syntaxerror};intmain(){cout所以问题是我如何在C++中做这样的事情? 最佳答案 将枚举放在A和B都可以继承的基类中。 关于c++-如何将一个类的嵌套枚举用作另一个类的嵌套枚举?,我们在S

c++ - C - 枚举索引数组的优点/缺点

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。根据我的经验,现实世界很少提供非负整数的索引。许多事情甚至没有用数字表示。许多用数字表示索引的东西的索引不是从0开始的。那为什么我们仍然局限于整数索引数组?也许我错了,但枚举索引数组似乎通常比数字索引数组更合适(因为枚举通常更准确,是“真实世界”的表示形式)。虽然枚举通常可以相对容易地转换为C风格的数组索引......enumWeekday={SUNDA

c++ - 使用(非类型)枚举参数定义内部类成员函数模板

我在定义和特化成员函数时遇到困难update()内部类的Outer::Inner以非类型(枚举)参数为模板。#includetemplatestructOuter{structInner{enumType{A,B,C};templatevoidupdate();};};//Definitiontemplatetemplate::Inner::TypeT2>voidOuter::Inner::update(){}//Specializationtemplatetemplate::Inner::A>voidOuter::Inner::update(){}intmain(){returnEX

c++ - 这是(枚举 : char {}) a gcc bug?

在gcc-4.5下打印0,在gcc-4.6下打印1。#includeenumVenueId:char{};intmain(intargc,char**argv){VenueIdv=(VenueId)'P';std::cout 最佳答案 根据标准,VenuedId具有char类型作为基础类型,因此v应包含char'P',v=='P'应该产生true。§7.2枚举声明Eachenumerationdefinesatypethatisdifferentfromallothertypes.Eachenumerationalsohasanun

c++ - 模板类型函数的延迟评估

我读了“TheC++Programminglanguage4thedition,1stprinting,byBjarneStroustrup”这本书(来自Amazon.com)。第785页。Stroustrup正在解释他如何在使用“std::conditional+std::make_unsigned”时消除“::type”的显式书写,使用“类型别名”(关键字“using”)。但是在“std::conditional+std::make_unsigned”上使用“类型别名”会导致编译错误。到目前为止,一切都应该如此。他继续展示如何使用“模板类型函数的延迟评估”来消除这些编译错误。问题在

c++ - 无法从另一个类中定义的枚举声明 Q_ENUM

Thisdocumentation州Ifyouwanttoregisteranenumthatisdeclaredinanotherclass,theenummustbefullyqualifiedwiththenameoftheclassdefiningit.Inaddition,theclassdefiningtheenumhastoinheritQObjectaswellasdeclaretheenumusingQ_ENUMS().但是在下面的例子中我无法做到这一点。A类:#ifndefCLASSA_H#defineCLASSA_H#includeclassClassA:publ

我如何从Coredata Swift获得最近的用户聊天

我有两个实体朋友,现在消息我想收到朋友的最新消息,我该怎么做朋友包含这些东西Friend{name:Stringid:Intemail:String}消息包含这些东西,也有从朋友到消息之间的一对多关系Message{id:Stringtext:Stringcreated_at:Date/...//andmanythings}看答案您可以通过类似的描述符获得用户的最新消息:-letfetchRequest=NSFetchRequest.init(entityName:"Message")fetchRequest.sortDescriptors=[NSSortDescriptor.init(key

c++ - 如何使用枚举初始化 vector/数组?

我想知道是否有某种方法可以使用枚举来初始化vector。枚举是必需的,因为我正在创建一个对象vector(相同的类,Chess_piece,但类型不同)。我希望能够在不进行大量测试的情况下访问该元素(if(thisiswhitepawn8)...)。枚举可用于以一种很好的方式逐项列出片段vec(W_PAWN8)....无论如何,当我创建vector时,我会做这样的事情(伪代码)//generateenumofpiecesenumpieceList{...}pieceEnum;vectorpieceIter={W_PAWN1,W_PAWN2,...};//equalto{1,2,...}

c++ - 与 const 枚举值 0 匹配的 MSVC 函数

我被MSVC意外的C++函数匹配所困扰。我可以将其简化为以下测试用例:#includeenumCode{aaa,bbb};structMyVal{Codec;MyVal(Codec):c(c){}};voidtest(inti,MyValval){std::cout我预计test的所有7次调用都将匹配第一个重载,并且GCC(liveexample)和Clang(liveexample)按预期匹配:case1:value0case2:value0case3:value1case4:value0case5:value0case6:value0case7:value1但MSVC(liveex

c++ - 控制枚举值的可见性

考虑一个导出枚举的C++类,在该枚举上维护一个内部数组,并希望导出一个从枚举中接受值的命令。classfoo{public:enumcolor{red,yellow,green,NUM_COLORS};private:somethingsomebody[NUM_COLORS];public:voidcommand(colorc);};是否有一种干净的方法可以仅导出实际颜色,而不导出NUM_COLORS种颜色?当编译器的类型系统真的应该能够为我做这件事时,我不想在每次调用时都检查边缘情况。明显的hack是:classfoo{public:enumcolor{red,yellow,gree